Skip to main content

Introduction


Revision History​

DateAuthorSummary
06-NOV-2023TSgt. BernadotteInitial draft
22-DEC-2023TSgt. BernadotteAdded procedures for adding Elastic objects
22-DEC-2023TSgt. BernadotteAdded procedures for adding Zeek/Suricata rules

Purpose​

This SOP is intended to provide instructions on how to interact with the DIP hosted Gitlab instance from the MIP, with a focus on existing 262COS Git projects (https://code.levelup.cce.af.mil/262-cos).


Requirements​


The Electric Eagle Git Project​

Git Definitions​

Repository: The files/folders with a Git Project.
Project: The entirety of a Git project, including the repository, CI/CD pipeline, project settings, etc.
CI/CD Pipeline: A series of scripted "jobs" that are automatically executed against a repository via "runners" (not avaliable on the DIP)

Project Overview​

Electric-Eagle (https://code.levelup.cce.af.mil/262-cos/Electric-Eagle) is a curated Git repository of materials and resources for operators and support personnel while tasked to a mission, exercise, or event. Electric-Eagle is comprised of other repositories as "sub-modules" (think symbolic-links) and is automatically packaged up via CI/CD pipeline and manually copied to the DIP fileserver during the DIP build process.

Submodule Repositories​

Without the "submodule" repositories, Electric-Eagle is effectively an empty shell with no content. These are the repositories that make up Electric-Eagle:

  • MISSION: This repository serves as a template workspace and file/folder for the Mission Element to use throught their mission.

NOTE: Nearly each folder has a 00_TEMPLATES sub-folder - place files that you believe will be beneficial to future teams within these sub-folders.

  • CREW_AIDS: Contains all 262COS created Crew Aid content (that are known to 262COS/DOK).

NOTE: This repo is copied to the MIP (/cvah/git/CREW_AIDS) during MIP deployment and hosted by docusaurus to be viewed via web browser.

  • SCRIPTS: Contains all 262COS developed scripts and bundles (that are known to 262COS/DOK).

NOTE: This repo is copied to the MIP (/cvah/git/SCRIPTS) during MIP deployment.

  • ANALYTICS: Location for Sigma rules, Zeek intel/signatures/scripts, Suricata rules, Elastic detection rules, as well as Kibana dashboards.

NOTE: All Elastic Detection Rules, Kibana Saved Objects (dashboards), Suricata Rules (*.rules, *.zip, or *.tar.gz), and Zeek Intel/Signatures/Scripts (*.dat, *.sig, *.zeek, *.zip, or *.tar.gz) are automatically imported and installed as part of the DIP build process.

  • MISSION_ARCHIVE: This repository contains historical data and reports (that have been given to 262COS/DOK) from past missions and exercises for reference.

NOTE: Each sub-folder of the 00_MISSIONS folder is a clone of a previous Mission Element's MISSION repository.

  • REFERENCES: Contains CPT relevant guidance and aids from USCC, ACC, CVAH PMO, and other organizations external to the unit.

Repository/Folder Relationships​

The repository folders on the DIP fileserver (/cvah/share -> //fileserver/share) are also manually cloned to the DIP hosted Gitlab instance during the DIP build process

NOTE: The repository folders on the DIP fileserver are not syncronized with the DIP Gitlab - this must be done manually.

Throughout a mission, it is expected that changes to any of these repositories are made on the MIP and merged to their respective repository hosted on the DIP Gitlab.


Post-Execution Workflow​

At the end of a mission, it is the Mission Element's responsibility to merge all created branches of each repository to their respective main branch. After this, all modified repositories must be cloned down to folders and copied to an External-HDD or DVD to be transferred to 262COS/DOK for review.

  • 262COS/DOK will create and upload a new branch to the online "R2D2" Gitlab for each modified repository following the Mission Element's Mission/Exercise identifier
  • All changes for each new branch will be manually reviewed by 262COS/DOK for inclusion into the main branch, where they will be permanently included into the next DIP build - completing the feedback loop of continuous process improvement